/* eslint-disable no-undef */
const mysql = require("mysql")
const envConfig = require("./env").sql
import { writeLog } from "./src/utils/utils"

/**
 * sql查询
 * @param {String} sql sql语句
 * @param {Object} response 响应头
 * @param {Array} params 查询参数
 * @returns
 */
const query = (sql, response, params) => {
  return new Promise((resolve, reject) => {
    //创建数据库连接
    const connection = mysql.createConnection({
      host: envConfig.host, //数据库地址
      user: envConfig.user, //数据库账号
      password: envConfig.password, //数据库密码
      database: envConfig.database, //数据库名称
      timezone: envConfig.timezone,
    })
    //执行数据库操作
    connection.connect()
    //操作数据库（操作数据库是异步的）
    connection.query(sql, params, function (error, results) {
      if (error) {
        console.log("***query error***", error)
        writeLog(error)
        response.json({ code: 500, msg: '数据库连接超时', sqlmsg: error })
        return
      }
      resolve(results)
      
      //关闭数据库
      connection.end()
    })
  })
}


module.exports = query
